﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Microsoft.Xna.Framework;

namespace PulsePrototype
{
    public abstract class BaseManager
    {
        private Game1 game;

        public Game1 Game
        {
            get { return this.game; }
        }

        public String Name
        {
            get { return GetName(); }
        }

        protected abstract String GetName();

        public BaseManager(Game1 game)
        {
            this.game = game;
        }

        protected virtual void Initialize()
        {
            this.game.GamePlayScreen1.AddManager(this);
        }

        public virtual void LoadContent() { }
        public virtual void UnloadContent() { }
        public virtual void Update(GameTime gameTime) { }
        public virtual void Draw(GameTime gameTime) { }
    }
}
